using System;
using System.Collections.Generic;
using SIP.PN.Servicios.Interfaces.DTO;

namespace SIP.PN.Servicios.Interfaces
{
    public interface IServicioOperario : IServicio
    {
        IList<OperarioDTO> Listar(string orden, int desde, int cantidad, string tipoDeDocumento, string numeroDocumento, string apellido, string nombre, string estado);
        int ObtenerCantidadRegistros(string tipoDeDocumento, string numeroDocumento, string apellido, string nombre, string estado);
        OperarioDTO Obtener(string tipoDeDocumento, string numeroDocumento);
        void Crear(string tipoDeDocumento, string numeroDocumento, string apellido, string nombre, DateTime fechaNacimiento, bool activo, string telefono, string celular, string localidad, string direccion);
        void Modificar(string tipoDeDocumento, string numeroDocumento, string apellido, string nombre, DateTime fechaNacimiento, bool activo, string telefono, string celular, string localidad, string direccion);
        void Eliminar(string codigoTipoDeDocumento, string numeroDocumento);

        IList<ProyectoTareaAsignacionDTO> ListarProyectoTareaAsignacion(DateTime fechaInicio, DateTime fechaFin, string apellido, string nombre, string especialidad, string nivel);
        
        IList<OperarioAsignacionDTO> ListarOperarioAsignacion(string codigoTipoDeDocumento, string numeroDocumento);


        IList<OperarioEspecialidadDTO> ListarOperarioEspecialidad(string codigoTipoDeDocumento, string numeroDocumento);
        OperarioEspecialidadDTO ObtenerOperarioEspecialidad(string codigoTipoDeDocumento, string numeroDocumento, string codigoEspecialidad, string codigoNivelEspecialidad);
        void AgregarOperarioEspecialidad(string codigoTipoDeDocumento, string numeroDocumento, string codigoEspecialidad, string codigoNivelEspecialidad);
        void ModificarOperarioEspecialidad(string codigoTipoDeDocumento, string numeroDocumento, string codigoEspecialidad, string codigoNivelEspecialidad, bool activo);
        void EliminarOperarioEspecialidad(string codigoTipoDeDocumento, string numeroDocumento, string codigoEspecialidad, string codigoNivelEspecialidad);
    }
}
